package com.sunny.fetch.pojo;

import javax.persistence.*;

@Table(name = "f_fut_weekly_detail")
public class FFutWeeklyDetail {
    @Id
    private Long tid;

    /**
     * 交易所代码
     */
    private String exchange;

    /**
     * 期货品种代码
     */
    private String prd;

    /**
     * 品种名称
     */
    private String name;

    /**
     * 成交量（手）
     */
    private Integer vol;

    /**
     * 同比增减（%）
     */
    @Column(name = "vol_yoy")
    private Float volYoy;

    /**
     * 成交金额（亿元）
     */
    private Float amount;

    /**
     * 同比增减（%）
     */
    @Column(name = "amout_yoy")
    private Float amoutYoy;

    /**
     * 年累计成交总量（手）
     */
    private Integer cumvol;

    /**
     * 同比增减（%）
     */
    @Column(name = "cumvol_yoy")
    private Float cumvolYoy;

    /**
     * 年累计成交金额（亿元）
     */
    private Float cumamt;

    /**
     * 同比增减（%）
     */
    @Column(name = "cumamt_yoy")
    private Float cumamtYoy;

    /**
     * 持仓量（手）
     */
    @Column(name = "open_interest")
    private Integer openInterest;

    /**
     * 环比增减（%）
     */
    @Column(name = "interest_wow")
    private Float interestWow;

    /**
     * 本周主力合约收盘价
     */
    @Column(name = "mc_close")
    private Float mcClose;

    /**
     * 环比涨跌（%）
     */
    @Column(name = "close_wow")
    private Float closeWow;

    /**
     * 周期
     */
    private String week;

    /**
     * 周日期
     */
    @Column(name = "week_date")
    private String weekDate;

    public FFutWeeklyDetail(Long tid, String exchange, String prd, String name, Integer vol, Float volYoy, Float amount, Float amoutYoy, Integer cumvol, Float cumvolYoy, Float cumamt, Float cumamtYoy, Integer openInterest, Float interestWow, Float mcClose, Float closeWow, String week, String weekDate) {
        this.tid = tid;
        this.exchange = exchange;
        this.prd = prd;
        this.name = name;
        this.vol = vol;
        this.volYoy = volYoy;
        this.amount = amount;
        this.amoutYoy = amoutYoy;
        this.cumvol = cumvol;
        this.cumvolYoy = cumvolYoy;
        this.cumamt = cumamt;
        this.cumamtYoy = cumamtYoy;
        this.openInterest = openInterest;
        this.interestWow = interestWow;
        this.mcClose = mcClose;
        this.closeWow = closeWow;
        this.week = week;
        this.weekDate = weekDate;
    }

    public FFutWeeklyDetail() {
        super();
    }

    /**
     * @return tid
     */
    public Long getTid() {
        return tid;
    }

    /**
     * @param tid
     */
    public void setTid(Long tid) {
        this.tid = tid;
    }

    /**
     * 获取交易所代码
     *
     * @return exchange - 交易所代码
     */
    public String getExchange() {
        return exchange;
    }

    /**
     * 设置交易所代码
     *
     * @param exchange 交易所代码
     */
    public void setExchange(String exchange) {
        this.exchange = exchange;
    }

    /**
     * 获取期货品种代码
     *
     * @return prd - 期货品种代码
     */
    public String getPrd() {
        return prd;
    }

    /**
     * 设置期货品种代码
     *
     * @param prd 期货品种代码
     */
    public void setPrd(String prd) {
        this.prd = prd;
    }

    /**
     * 获取品种名称
     *
     * @return name - 品种名称
     */
    public String getName() {
        return name;
    }

    /**
     * 设置品种名称
     *
     * @param name 品种名称
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * 获取成交量（手）
     *
     * @return vol - 成交量（手）
     */
    public Integer getVol() {
        return vol;
    }

    /**
     * 设置成交量（手）
     *
     * @param vol 成交量（手）
     */
    public void setVol(Integer vol) {
        this.vol = vol;
    }

    /**
     * 获取同比增减（%）
     *
     * @return vol_yoy - 同比增减（%）
     */
    public Float getVolYoy() {
        return volYoy;
    }

    /**
     * 设置同比增减（%）
     *
     * @param volYoy 同比增减（%）
     */
    public void setVolYoy(Float volYoy) {
        this.volYoy = volYoy;
    }

    /**
     * 获取成交金额（亿元）
     *
     * @return amount - 成交金额（亿元）
     */
    public Float getAmount() {
        return amount;
    }

    /**
     * 设置成交金额（亿元）
     *
     * @param amount 成交金额（亿元）
     */
    public void setAmount(Float amount) {
        this.amount = amount;
    }

    /**
     * 获取同比增减（%）
     *
     * @return amout_yoy - 同比增减（%）
     */
    public Float getAmoutYoy() {
        return amoutYoy;
    }

    /**
     * 设置同比增减（%）
     *
     * @param amoutYoy 同比增减（%）
     */
    public void setAmoutYoy(Float amoutYoy) {
        this.amoutYoy = amoutYoy;
    }

    /**
     * 获取年累计成交总量（手）
     *
     * @return cumvol - 年累计成交总量（手）
     */
    public Integer getCumvol() {
        return cumvol;
    }

    /**
     * 设置年累计成交总量（手）
     *
     * @param cumvol 年累计成交总量（手）
     */
    public void setCumvol(Integer cumvol) {
        this.cumvol = cumvol;
    }

    /**
     * 获取同比增减（%）
     *
     * @return cumvol_yoy - 同比增减（%）
     */
    public Float getCumvolYoy() {
        return cumvolYoy;
    }

    /**
     * 设置同比增减（%）
     *
     * @param cumvolYoy 同比增减（%）
     */
    public void setCumvolYoy(Float cumvolYoy) {
        this.cumvolYoy = cumvolYoy;
    }

    /**
     * 获取年累计成交金额（亿元）
     *
     * @return cumamt - 年累计成交金额（亿元）
     */
    public Float getCumamt() {
        return cumamt;
    }

    /**
     * 设置年累计成交金额（亿元）
     *
     * @param cumamt 年累计成交金额（亿元）
     */
    public void setCumamt(Float cumamt) {
        this.cumamt = cumamt;
    }

    /**
     * 获取同比增减（%）
     *
     * @return cumamt_yoy - 同比增减（%）
     */
    public Float getCumamtYoy() {
        return cumamtYoy;
    }

    /**
     * 设置同比增减（%）
     *
     * @param cumamtYoy 同比增减（%）
     */
    public void setCumamtYoy(Float cumamtYoy) {
        this.cumamtYoy = cumamtYoy;
    }

    /**
     * 获取持仓量（手）
     *
     * @return open_interest - 持仓量（手）
     */
    public Integer getOpenInterest() {
        return openInterest;
    }

    /**
     * 设置持仓量（手）
     *
     * @param openInterest 持仓量（手）
     */
    public void setOpenInterest(Integer openInterest) {
        this.openInterest = openInterest;
    }

    /**
     * 获取环比增减（%）
     *
     * @return interest_wow - 环比增减（%）
     */
    public Float getInterestWow() {
        return interestWow;
    }

    /**
     * 设置环比增减（%）
     *
     * @param interestWow 环比增减（%）
     */
    public void setInterestWow(Float interestWow) {
        this.interestWow = interestWow;
    }

    /**
     * 获取本周主力合约收盘价
     *
     * @return mc_close - 本周主力合约收盘价
     */
    public Float getMcClose() {
        return mcClose;
    }

    /**
     * 设置本周主力合约收盘价
     *
     * @param mcClose 本周主力合约收盘价
     */
    public void setMcClose(Float mcClose) {
        this.mcClose = mcClose;
    }

    /**
     * 获取环比涨跌（%）
     *
     * @return close_wow - 环比涨跌（%）
     */
    public Float getCloseWow() {
        return closeWow;
    }

    /**
     * 设置环比涨跌（%）
     *
     * @param closeWow 环比涨跌（%）
     */
    public void setCloseWow(Float closeWow) {
        this.closeWow = closeWow;
    }

    /**
     * 获取周期
     *
     * @return week - 周期
     */
    public String getWeek() {
        return week;
    }

    /**
     * 设置周期
     *
     * @param week 周期
     */
    public void setWeek(String week) {
        this.week = week;
    }

    /**
     * 获取周日期
     *
     * @return week_date - 周日期
     */
    public String getWeekDate() {
        return weekDate;
    }

    /**
     * 设置周日期
     *
     * @param weekDate 周日期
     */
    public void setWeekDate(String weekDate) {
        this.weekDate = weekDate;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", tid=").append(tid);
        sb.append(", exchange=").append(exchange);
        sb.append(", prd=").append(prd);
        sb.append(", name=").append(name);
        sb.append(", vol=").append(vol);
        sb.append(", volYoy=").append(volYoy);
        sb.append(", amount=").append(amount);
        sb.append(", amoutYoy=").append(amoutYoy);
        sb.append(", cumvol=").append(cumvol);
        sb.append(", cumvolYoy=").append(cumvolYoy);
        sb.append(", cumamt=").append(cumamt);
        sb.append(", cumamtYoy=").append(cumamtYoy);
        sb.append(", openInterest=").append(openInterest);
        sb.append(", interestWow=").append(interestWow);
        sb.append(", mcClose=").append(mcClose);
        sb.append(", closeWow=").append(closeWow);
        sb.append(", week=").append(week);
        sb.append(", weekDate=").append(weekDate);
        sb.append("]");
        return sb.toString();
    }
}